﻿using ASPItalia.ModelVirtualCasting.Common;

namespace ASPItalia.ModelVirtualCasting
{
    public interface IRepositoryFactory
    {
        RepositoryFactoryType FactoryType { get; }
        object Container { get; }

        ICandidateRepository CreateCandidateRepository();
        ICountryRepository CreateCountryRepository();
        IJobLevelRepository CreateJobLevelRepository();
        IJobTypeRepository CreateJobTypeRepository();
        ILanguageRepository CreateLanguageRepository();
        IModelRepository CreateModelRepository();
        INewsRepository CreateNewsRepository();
        IPersonRepository CreatePersonRepository();
        IRequestRepository CreateRequestRepository();
        IUserRepository CreateUserRepository();
        IUserRoleRepository CreateUserRoleRepository();
    }
}
